package baseTest;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class recruit {
    public static void main(String[] args) {
        int n=40;
        List<Integer> m=new ArrayList();
        for (int i = 1; i <=n; i++) {
                m.add(i);
        }
//        process(n,m);
        List<Integer> p=process(n,m);
        for (Integer i:p) {
            System.out.println(i);
        }
    }
    public static List<Integer> process(int n, List m){
        if (n==1){
            return m;
        }
        do {
            int sum1=0;
            for (int i = 1; i <=n ; i++) {
                if (i%2==0){
                   m=sub(m,i-1-sum1);
                    sum1++;
                }
                if (n-sum1<=3){
                    break;
                }
            }
            n-=sum1;
            int sum2 = 0;
            for (int i = 1; i <= n; i++) {
                if (i%3==0){
                    m=sub(m,i-1-sum2);
                    sum2++;
                }
                if (n-sum2<=3){
                    break;
                }
            }
            n-=sum2;
        }while (n>3);
        return m;
    }
    public static List<Integer> sub(List m,int n){
      List<Integer> list1= m.subList(0,n);
      List<Integer> list2= m.subList(n+1,m.size());
      list1.addAll(list2);
      return list1;
    }
}
